package com.ruoyi.swla2.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.ruoyi.common.annotation.Excel;
import lombok.*;

/**
 * 设备台账对象 t_device_ledger
 *
 * @author gdqt
 * @date 2025-06-26
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_device_ledger")
public class DeviceLedger extends CommonEntity
{
    private static final long serialVersionUID = 1L;

    /**  主键id */
    @TableId(value="id",type = IdType.AUTO)
    private Long id;

    /** 上报日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检漏时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 1)
    @TableField("report_day")
    private Date reportDay;

    /** 设备编号 */
    @Excel(name = "设备编号", sort = 2)
    @TableField("device_num")
    private String deviceNum;

    /** 设备状态（off-line：离线，on-line：在线， scrap：报废） */
    // @Excel(name = "设备状态", readConverterExp = "o=ff-line：离线，on-line：在线，,s=crap：报废")
    @TableField("status")
    private String status;

    /** 音频文件解析状态：数据异常，正常，疑似，预警） */
    @Excel(name = "渗漏状态" ,sort = 8)
    @TableField("monitor_status")
    private String monitorStatus;

    /** 设备经度 */
    @Excel(name = "设备经度",sort = 5)
    @TableField("longitude")
    private String longitude;

    /** 设备纬度 */
    @Excel(name = "设备纬度",sort = 6)
    @TableField("latitude")
    private String latitude;

    /** 所属地域 */
    @Excel(name = "所属地域")
    @TableField("region")
    private String region;

    /** 安装时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "安装时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @TableField("install_time")
    private Date installTime;

    /** 安装位置 */
    @Excel(name = "安装位置")
    @TableField("install_position")
    private String installPosition;

    /** 基准噪声值 */
    @Excel(name = "基准噪声值")
    @TableField("noise_reference")
    private String noiseReference;

}
